<?php
/**
 * Created by Chongyi
 * Date: 2015/10/10 0010
 * Time: 下午 2:45
 */

// V1 接口路由
Route::group(['prefix' => 'v1', 'namespace' => 'Api\V1', 'middleware' => ['api.verify', 'api.passport']], function () {
    // 用于提供给客户端判断是否为危险的、废弃的接口
    Route::any('strict/danger', function () {
        // 该接口返回结构中包含 status message time timestamp
        // 其中 status 为必须，0 表示接口可以继续使用，1 表示接口即将废弃，2 表示接口已经废弃，要求客户端强制更新
        return success_return(['status' => 0]);
    });

    // 获取地址数据
    Route::get('area/province', 'AreaGetterController@province');
    Route::get('area/province/{id}/city', 'AreaGetterController@city');
    Route::get('area/city', 'AreaGetterController@city');
    Route::get('area/city/{id}/county', 'AreaGetterController@county');
    Route::get('area/county', 'AreaGetterController@county');

    // 用户登录、注销相关功能
    Route::controller('member/passport', 'AuthController');

    // 获取分类
    Route::get('category', 'CategoryController@index');

    // 获取店铺商品分类
    Route::resource('store.category', 'StoreCategoryController', ['only' => ['index']]);

    // 获取店铺（商家）列表
    Route::resource('store', 'StoreController', ['only' => ['index', 'show']]);

    // 获取商品列表
    Route::resource('goods', 'GoodsController', ['only' => ['index', 'show']]);

    // 获取品牌列表
    Route::resource('brand', 'BrandController', ['only' => ['index']]);

    // 获取文章列表
    Route::resource('article', 'ArticleController', ['only' => ['index', 'show']]);


    // 要求授权才能访问的路由
    Route::group(['middleware' => 'api.auth'], function () {

        // 用户相关
        Route::controller('member', 'MemberController');

        // 我的申请
        Route::resource('my-authorization-request', 'MyAuthorizationRequestController');

        // 我的供应商
        Route::resource('my-provider', 'MyProviderController');

        // 我的咨询
        Route::resource('my-issue', 'MyIssueController', ['only' => ['index']]);

        // 我的消息
        Route::resource('message', 'MessageController', ['only' => ['index', 'update']]);

        //我的收货地址信息
        Route::resource('my-address', 'MyAddressController');

        // 发票管理
        Route::resource('invoice', 'InvoiceController', ['only' => ['index', 'update', 'store', 'destroy']]);

        // 增值税发票
        Route::controller('v-a-t-invoice', 'VATInvoiceController');
    });

});
